/*
 * Copyright (c) gitee.com/jiandong001.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

import { DeveloperSettings } from './DeveloperSettings';
import fileio from '@ohos.fileio';
import { PackagerStatusCallback } from './PackagerStatusCallback';
import { BundleLoadCallback } from './BundleLoadCallback';
import { SurfaceDelegate } from '../common/SurfaceDelegate';
import { ReactContext } from '../bridge/ReactContext';
import { DevSupportManager } from './DevSupportManager';

export class DisabledDevSupportManager implements DevSupportManager {

 // private readonly mDefaultJSExceptionHandler: DefaultJSExceptionHandler;

  public constructor() {
//    mDefaultJSExceptionHandler = new DefaultJSExceptionHandler();
  }
//
//  @Override
//  public void showNewJavaError(String message, Throwable e) {}
//
//@Override
//public void addCustomDevOption(String optionName, DevOptionHandler optionHandler) {}
//
//@Override
//public void showNewJSError(String message, ReadableArray details, int errorCookie) {}
//
//@Override
//public @Nullable View createRootView(String appKey) {
//  return null;
//}
//
//@Override
//public void destroyRootView(View rootView) {}
//
//@Override
//public void updateJSError(String message, ReadableArray details, int errorCookie) {}
//
//@Override
//public void hideRedboxDialog() {}
//
//@Override
//public void showDevOptionsDialog() {}

//@Override
public setDevSupportEnabled(isDevSupportEnabled: boolean): void {}

//@Override
//public void startInspector() {}
//
//@Override
//public void stopInspector() {}

//@Override
//public void setHotModuleReplacementEnabled(boolean isHotModuleReplacementEnabled) {}
//
//@Override
//public void setRemoteJSDebugEnabled(boolean isRemoteJSDebugEnabled) {}
//
//@Override
//public void setFpsDebugEnabled(boolean isFpsDebugEnabled) {}
//
//@Override
//public void toggleElementInspector() {}

//@Override
public getDevSupportEnabled(): boolean {
  return false;
}

//@Override
public getDevSettings(): DeveloperSettings {
  return null;
}
//
//@Override
//public RedBoxHandler getRedBoxHandler() {
//  return null;
//}

//@Override
public onNewReactContextCreated(reactContext: ReactContext):void {}

//@Override
public onReactInstanceDestroyed(reactContext: ReactContext): void {}

//@Override
public getSourceMapUrl(): string {
  return null;
}

//@Override
public getSourceUrl(): string  {
  return null;
}

//@Override
public getJSBundleURLForRemoteDebugging(): string {
  return null;
}

//@Override
public getDownloadedJSBundleFile():string {
  return null;
}

//@Override
public hasUpToDateJSBundleInCache(): boolean {
  return false;
}
//
//@Override
//public void reloadSettings() {}

//@Override
public handleReloadJS(): void {}

//@Override
//public reloadJSFromServer(bundleURL: string): void {}

//@Override
public reloadJSFromServer(bundleURL: string, callback?: BundleLoadCallback): void {}

//@Override
//public void loadSplitBundleFromServer(String bundlePath, DevSplitBundleCallback callback) {}

//@Override
public isPackagerRunning(callback: PackagerStatusCallback): void {
  callback.onPackagerStatusFetched(false);
}

//@Override
public downloadBundleResourceFromUrlSync(resourceURL: string, outputFile: string): string | null { // outputFile: File): File | null {
  return null;
}
//
//@Override
//public @Nullable String getLastErrorTitle() {
//  return null;
//}
//
//@Override
//public @Nullable StackFrame[] getLastErrorStack() {
//  return null;
//}
//
//@Override
//public @Nullable ErrorType getLastErrorType() {
//  return null;
//}
//
//@Override
//public int getLastErrorCookie() {
//  return 0;
//}
//
//@Override
//public void registerErrorCustomizer(ErrorCustomizer errorCustomizer) {}
//
//@Override
//public Pair<String, StackFrame[]> processErrorCustomizers(Pair<String, StackFrame[]> errorInfo) {
//  return errorInfo;
//}
//
//@Override
//public void setPackagerLocationCustomizer(
//DevSupportManager.PackagerLocationCustomizer packagerLocationCustomizer) {}
//
//@Override
//public void handleException(Exception e) {
//  mDefaultJSExceptionHandler.handleException(e);
//}
//
//@Override
//public @Nullable Activity getCurrentActivity() {
//  return null;
//}

//@Override
public createSurfaceDelegate(moduleName: string): SurfaceDelegate | null {
  return null;
}
}
